The invention relates generally to Global Positioning Receivers (GPS) receivers or to any navigation receiver that receives pseudorandom noise (PN) encoded signals, and particularly, to receivers that that achieve reduction in errors resulting from multipath.
The Global Positioning System (GPS) was established by the United States government, and employs a constellation of 24 or more satellites in well-defined orbits at an altitude of approximately 26,500 km. These satellites continually transmit microwave L-band radio signals in two frequency bands, centered at 1575.42 MHz and 1227.6 MHz, denoted as L1 and L2 respectively. These signals include timing patterns relative to the satellite""s onboard precision clock (which is kept synchronized by ground stations) as well as a navigation message giving the precise orbital positions of the satellites, an ionosphere model and other useful information. GPS receivers process the radio signals, computing ranges to the GPS satellites, and by triangulating these ranges, the GPS receiver determines its own position and its own internal clock error.
The GPS satellites transmit timing information by modulating pseudorandom codes on both the L1 and L2 frequencies. These codes, referred to as PN, or PRN codes, are binary sequences of +1 and xe2x88x921 as depicted in FIG. 1 (sometimes, 1""s and 0""s rather than 1 and xe2x88x921 are used for notational convenience). Pseudorandom codes, known as the P or P(Y) codes, are present on both L1 and L2 GPS frequencies; have chipping rates of 10.23 MHz; and repeat every week (actually, only the P portion of the P(Y) code repeats every week, the Y portion is additional modulation layer for the purpose of anti-spoofing and is unknown to civilian users). The L1 channel also has modulated upon it a PN code commonly called the C/A code. The C/A code runs at 1.023 MHz and repeats every millisecond. The use of PN codes on the GPS broadcast signal cause the signal""s frequency spectrum to spread or widen, a phenomenon commonly called spread spectrum. This makes the signal less susceptible to jamming. It also allows GPS satellites to use the same transmission frequencies (L1 and L2), but different PN codes, a communication technique commonly referred to as code division multiple access (CDMA). Most importantly, however, the PN codes provide a means to extract timing information from the signal.
In acquiring the PN sequence for subsequent tracking, a replica of the broadcast PN sequence (See FIG. 2) is produced by the tracking hardware (any PN sequence generated by the GPS receiver""s tracking hardware, as opposed to the GPS satellite, is referred to as a PN model or PN reference). This PN model is then swept through time until it aligns with the incoming signal. Alignment is determined by cross-correlating the model of the PN sequence with the measured signal.
In order to track pseudorandom (PN) sequences in a GPS receiver, a delay-lock-loop is often used that employs an early-minus-late (E-L) model of the incoming GPS PN sequence. That is, two replicas of the incoming PN sequence are produced, whereby one is then shifted xc2xdchip early and the other shifted xc2xd chip late in time. The resulting late code sequence is subtracted from the early seqeunce. The prompt, (the on-time sequence as shown in FIG. 5A), represents the signal that we wish to track. A correlation function is defined as depicted in FIG. 3, such that the prompt is the reference and is held stationary. When the signal arrives earlier than prompt, its resulting correlation function is shifted to the right (delayed) since the signal must be delayed before it aligns with prompt. When the signal arrives later than prompt, its correlation function is shifted to the left since it must advance to align with prompt. The early-minus-late correlation pattern effectively provides the tracking software an error feedback that drives the PN phase generator to track the prompt. This error is known as the discriminator of the delay-lock-loop.
When the incoming signal arrives early with respect to the model, more energy is present in the early correlation result and a positive error is produced. The positive error advances the reference phase and the PN (E-L) model moves earlier in time. A negative error arises when the incoming signal arrives later and more energy shows up in the late sequence. This delays the reference phase. The error continuously drives the delay-lock-loop, which thereby adjusts the reference phase generator to maintain zero phase error. In a GPS application, the prompt signal is the digitally sample (received) signal corrupted by noise, multipath and filter rounding. Multipath signals can cause errors in the prompt and thereby result in a shifted reference. A shifted reference causes the delay-lock loop to produce an erroneous code phase. Therefore, what is need in the art is a method to mitigate erroneous effects due to multipath signals.
Disclosed herein in an exemplary embodiment is a method of measuring the phase of a pseudorandom (PN) sequence of chips, each chip having a polarity that is either positive or negative, and having a time duration, Tchip. The method comprises: generating a reference model exhibiting a reference phase, the reference phase adjustable to facilitate alignment with the phase of the pseudorandom sequence; establishing a plurality of pulsed-windows over which a plurality of samples of the pseudorandom sequence are collected for a selected accumulation interval; and accumulating the plurality of samples for each pulsed-window of the plurality of pulsed windows to form a plurality of accumulated sums. The method also includes: compensating each accumulated sum to form at least one compensated sum, if a number of level transitions and non-transitions of the pseudorandom sequence is not equal; and combining the compensated sum to determine a phase error from the plurality of compensated sums, the phase error corresponding to a phase difference between the reference phase and the phase of the pseudorandom sequence.
Disclosed herein in another exemplary embodiment is a method of measuring the phase of a pseudorandom (PN) sequence of chips, each chip having a polarity that is either positive or negative, and having a time duration, Tchip. The method includes: generating a reference model exhibiting a reference phase, the reference phase adjustable to facilitate alignment with the phase of the pseudorandom sequence; establishing a pulsed-window over which a plurality of samples of the pseudorandom sequence are collected for a selected accumulation interval; and accumulating the plurality of samples for each pulsed-window to form at least one accumulated sum. The method also includes: combining the at least one accumulated sum to determine a phase error, the phase error corresponding to a phase difference between the reference phase and the phase of the pseudorandom sequence; and normalizing the phase error by dividing the at least one accumulated sum, by a second summation taken only over pulsed windows that are based on a number of polarity transitions of the pseudorandom sequence.
Also disclosed herein in yet another exemplary embodiment is a storage medium encoded with a machine-readable computer program code for measuring the phase of a pseudorandom (PN) sequence of chips, each chip having a polarity that is either positive or negative, and having a time duration, Tchip, said storage medium including instructions for causing controller to implement the abovementioned method.
Further disclosed herein in an exemplary embodiment is a computer data signal embodied in a carrier wave for measuring the phase of a pseudorandom (PN) sequence of chips, each chip having a polarity that is either positive or negative, and having a time duration, Tchip, said data signal comprising code configured to cause a controller to implement the abovementioned method.